package com.源码分析.flatMap等;

import java.util.concurrent.TimeUnit;

import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import reactor.core.publisher.Flux;

public class ConcatMap {

	private Logger log = LoggerFactory.getLogger(ConcatMap.class);

	@Test
	public void test1() throws InterruptedException {
		// concatMap操作符的功能和flatMap是非常相似的，只是有一点，concatMap 最终输出的数据序列和原数据序列是一致，它是按顺序链接Observables，而不是合并(flatMap用的是合并)
		Flux.just("flux", "mono")
			.concatMap(s -> Flux.fromArray(s.split("\\s*")))
			.subscribe(e -> log.info("get:{}", e));
		TimeUnit.SECONDS.sleep(1000);
	}

}
